package com.km.team.phsystem.beans.pojo;

import java.util.ArrayList;
import java.util.List;

public class DateTimeSlotPhConfigExample {
    protected String orderByClause;

    protected boolean distinct;

    protected List<Criteria> oredCriteria;

    public DateTimeSlotPhConfigExample() {
        oredCriteria = new ArrayList<Criteria>();
    }

    public void setOrderByClause(String orderByClause) {
        this.orderByClause = orderByClause;
    }

    public String getOrderByClause() {
        return orderByClause;
    }

    public void setDistinct(boolean distinct) {
        this.distinct = distinct;
    }

    public boolean isDistinct() {
        return distinct;
    }

    public List<Criteria> getOredCriteria() {
        return oredCriteria;
    }

    public void or(Criteria criteria) {
        oredCriteria.add(criteria);
    }

    public Criteria or() {
        Criteria criteria = createCriteriaInternal();
        oredCriteria.add(criteria);
        return criteria;
    }

    public Criteria createCriteria() {
        Criteria criteria = createCriteriaInternal();
        if (oredCriteria.size() == 0) {
            oredCriteria.add(criteria);
        }
        return criteria;
    }

    protected Criteria createCriteriaInternal() {
        Criteria criteria = new Criteria();
        return criteria;
    }

    public void clear() {
        oredCriteria.clear();
        orderByClause = null;
        distinct = false;
    }

    protected abstract static class GeneratedCriteria {
        protected List<Criterion> criteria;

        protected GeneratedCriteria() {
            super();
            criteria = new ArrayList<Criterion>();
        }

        public boolean isValid() {
            return criteria.size() > 0;
        }

        public List<Criterion> getAllCriteria() {
            return criteria;
        }

        public List<Criterion> getCriteria() {
            return criteria;
        }

        protected void addCriterion(String condition) {
            if (condition == null) {
                throw new RuntimeException("Value for condition cannot be null");
            }
            criteria.add(new Criterion(condition));
        }

        protected void addCriterion(String condition, Object value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value));
        }

        protected void addCriterion(String condition, Object value1, Object value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value1, value2));
        }

        public Criteria andIdIsNull() {
            addCriterion("id is null");
            return (Criteria) this;
        }

        public Criteria andIdIsNotNull() {
            addCriterion("id is not null");
            return (Criteria) this;
        }

        public Criteria andIdEqualTo(Integer value) {
            addCriterion("id =", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotEqualTo(Integer value) {
            addCriterion("id <>", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdGreaterThan(Integer value) {
            addCriterion("id >", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdGreaterThanOrEqualTo(Integer value) {
            addCriterion("id >=", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdLessThan(Integer value) {
            addCriterion("id <", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdLessThanOrEqualTo(Integer value) {
            addCriterion("id <=", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdIn(List<Integer> values) {
            addCriterion("id in", values, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotIn(List<Integer> values) {
            addCriterion("id not in", values, "id");
            return (Criteria) this;
        }

        public Criteria andIdBetween(Integer value1, Integer value2) {
            addCriterion("id between", value1, value2, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotBetween(Integer value1, Integer value2) {
            addCriterion("id not between", value1, value2, "id");
            return (Criteria) this;
        }

        public Criteria andSystemBusitypeIdIsNull() {
            addCriterion("system_busitype_id is null");
            return (Criteria) this;
        }

        public Criteria andSystemBusitypeIdIsNotNull() {
            addCriterion("system_busitype_id is not null");
            return (Criteria) this;
        }

        public Criteria andSystemBusitypeIdEqualTo(Integer value) {
            addCriterion("system_busitype_id =", value, "systemBusitypeId");
            return (Criteria) this;
        }

        public Criteria andSystemBusitypeIdNotEqualTo(Integer value) {
            addCriterion("system_busitype_id <>", value, "systemBusitypeId");
            return (Criteria) this;
        }

        public Criteria andSystemBusitypeIdGreaterThan(Integer value) {
            addCriterion("system_busitype_id >", value, "systemBusitypeId");
            return (Criteria) this;
        }

        public Criteria andSystemBusitypeIdGreaterThanOrEqualTo(Integer value) {
            addCriterion("system_busitype_id >=", value, "systemBusitypeId");
            return (Criteria) this;
        }

        public Criteria andSystemBusitypeIdLessThan(Integer value) {
            addCriterion("system_busitype_id <", value, "systemBusitypeId");
            return (Criteria) this;
        }

        public Criteria andSystemBusitypeIdLessThanOrEqualTo(Integer value) {
            addCriterion("system_busitype_id <=", value, "systemBusitypeId");
            return (Criteria) this;
        }

        public Criteria andSystemBusitypeIdIn(List<Integer> values) {
            addCriterion("system_busitype_id in", values, "systemBusitypeId");
            return (Criteria) this;
        }

        public Criteria andSystemBusitypeIdNotIn(List<Integer> values) {
            addCriterion("system_busitype_id not in", values, "systemBusitypeId");
            return (Criteria) this;
        }

        public Criteria andSystemBusitypeIdBetween(Integer value1, Integer value2) {
            addCriterion("system_busitype_id between", value1, value2, "systemBusitypeId");
            return (Criteria) this;
        }

        public Criteria andSystemBusitypeIdNotBetween(Integer value1, Integer value2) {
            addCriterion("system_busitype_id not between", value1, value2, "systemBusitypeId");
            return (Criteria) this;
        }

        public Criteria andDatePhConfigIdIsNull() {
            addCriterion("date_ph_config_id is null");
            return (Criteria) this;
        }

        public Criteria andDatePhConfigIdIsNotNull() {
            addCriterion("date_ph_config_id is not null");
            return (Criteria) this;
        }

        public Criteria andDatePhConfigIdEqualTo(Integer value) {
            addCriterion("date_ph_config_id =", value, "datePhConfigId");
            return (Criteria) this;
        }

        public Criteria andDatePhConfigIdNotEqualTo(Integer value) {
            addCriterion("date_ph_config_id <>", value, "datePhConfigId");
            return (Criteria) this;
        }

        public Criteria andDatePhConfigIdGreaterThan(Integer value) {
            addCriterion("date_ph_config_id >", value, "datePhConfigId");
            return (Criteria) this;
        }

        public Criteria andDatePhConfigIdGreaterThanOrEqualTo(Integer value) {
            addCriterion("date_ph_config_id >=", value, "datePhConfigId");
            return (Criteria) this;
        }

        public Criteria andDatePhConfigIdLessThan(Integer value) {
            addCriterion("date_ph_config_id <", value, "datePhConfigId");
            return (Criteria) this;
        }

        public Criteria andDatePhConfigIdLessThanOrEqualTo(Integer value) {
            addCriterion("date_ph_config_id <=", value, "datePhConfigId");
            return (Criteria) this;
        }

        public Criteria andDatePhConfigIdIn(List<Integer> values) {
            addCriterion("date_ph_config_id in", values, "datePhConfigId");
            return (Criteria) this;
        }

        public Criteria andDatePhConfigIdNotIn(List<Integer> values) {
            addCriterion("date_ph_config_id not in", values, "datePhConfigId");
            return (Criteria) this;
        }

        public Criteria andDatePhConfigIdBetween(Integer value1, Integer value2) {
            addCriterion("date_ph_config_id between", value1, value2, "datePhConfigId");
            return (Criteria) this;
        }

        public Criteria andDatePhConfigIdNotBetween(Integer value1, Integer value2) {
            addCriterion("date_ph_config_id not between", value1, value2, "datePhConfigId");
            return (Criteria) this;
        }

        public Criteria andTimeSlotPhConfigIdIsNull() {
            addCriterion("time_slot_ph_config_id is null");
            return (Criteria) this;
        }

        public Criteria andTimeSlotPhConfigIdIsNotNull() {
            addCriterion("time_slot_ph_config_id is not null");
            return (Criteria) this;
        }

        public Criteria andTimeSlotPhConfigIdEqualTo(Integer value) {
            addCriterion("time_slot_ph_config_id =", value, "timeSlotPhConfigId");
            return (Criteria) this;
        }

        public Criteria andTimeSlotPhConfigIdNotEqualTo(Integer value) {
            addCriterion("time_slot_ph_config_id <>", value, "timeSlotPhConfigId");
            return (Criteria) this;
        }

        public Criteria andTimeSlotPhConfigIdGreaterThan(Integer value) {
            addCriterion("time_slot_ph_config_id >", value, "timeSlotPhConfigId");
            return (Criteria) this;
        }

        public Criteria andTimeSlotPhConfigIdGreaterThanOrEqualTo(Integer value) {
            addCriterion("time_slot_ph_config_id >=", value, "timeSlotPhConfigId");
            return (Criteria) this;
        }

        public Criteria andTimeSlotPhConfigIdLessThan(Integer value) {
            addCriterion("time_slot_ph_config_id <", value, "timeSlotPhConfigId");
            return (Criteria) this;
        }

        public Criteria andTimeSlotPhConfigIdLessThanOrEqualTo(Integer value) {
            addCriterion("time_slot_ph_config_id <=", value, "timeSlotPhConfigId");
            return (Criteria) this;
        }

        public Criteria andTimeSlotPhConfigIdIn(List<Integer> values) {
            addCriterion("time_slot_ph_config_id in", values, "timeSlotPhConfigId");
            return (Criteria) this;
        }

        public Criteria andTimeSlotPhConfigIdNotIn(List<Integer> values) {
            addCriterion("time_slot_ph_config_id not in", values, "timeSlotPhConfigId");
            return (Criteria) this;
        }

        public Criteria andTimeSlotPhConfigIdBetween(Integer value1, Integer value2) {
            addCriterion("time_slot_ph_config_id between", value1, value2, "timeSlotPhConfigId");
            return (Criteria) this;
        }

        public Criteria andTimeSlotPhConfigIdNotBetween(Integer value1, Integer value2) {
            addCriterion("time_slot_ph_config_id not between", value1, value2, "timeSlotPhConfigId");
            return (Criteria) this;
        }

        public Criteria andAcceptNoIsNull() {
            addCriterion("accept_no is null");
            return (Criteria) this;
        }

        public Criteria andAcceptNoIsNotNull() {
            addCriterion("accept_no is not null");
            return (Criteria) this;
        }

        public Criteria andAcceptNoEqualTo(Integer value) {
            addCriterion("accept_no =", value, "acceptNo");
            return (Criteria) this;
        }

        public Criteria andAcceptNoNotEqualTo(Integer value) {
            addCriterion("accept_no <>", value, "acceptNo");
            return (Criteria) this;
        }

        public Criteria andAcceptNoGreaterThan(Integer value) {
            addCriterion("accept_no >", value, "acceptNo");
            return (Criteria) this;
        }

        public Criteria andAcceptNoGreaterThanOrEqualTo(Integer value) {
            addCriterion("accept_no >=", value, "acceptNo");
            return (Criteria) this;
        }

        public Criteria andAcceptNoLessThan(Integer value) {
            addCriterion("accept_no <", value, "acceptNo");
            return (Criteria) this;
        }

        public Criteria andAcceptNoLessThanOrEqualTo(Integer value) {
            addCriterion("accept_no <=", value, "acceptNo");
            return (Criteria) this;
        }

        public Criteria andAcceptNoIn(List<Integer> values) {
            addCriterion("accept_no in", values, "acceptNo");
            return (Criteria) this;
        }

        public Criteria andAcceptNoNotIn(List<Integer> values) {
            addCriterion("accept_no not in", values, "acceptNo");
            return (Criteria) this;
        }

        public Criteria andAcceptNoBetween(Integer value1, Integer value2) {
            addCriterion("accept_no between", value1, value2, "acceptNo");
            return (Criteria) this;
        }

        public Criteria andAcceptNoNotBetween(Integer value1, Integer value2) {
            addCriterion("accept_no not between", value1, value2, "acceptNo");
            return (Criteria) this;
        }

        public Criteria andDoAcceptNoIsNull() {
            addCriterion("do_accept_no is null");
            return (Criteria) this;
        }

        public Criteria andDoAcceptNoIsNotNull() {
            addCriterion("do_accept_no is not null");
            return (Criteria) this;
        }

        public Criteria andDoAcceptNoEqualTo(Integer value) {
            addCriterion("do_accept_no =", value, "doAcceptNo");
            return (Criteria) this;
        }

        public Criteria andDoAcceptNoNotEqualTo(Integer value) {
            addCriterion("do_accept_no <>", value, "doAcceptNo");
            return (Criteria) this;
        }

        public Criteria andDoAcceptNoGreaterThan(Integer value) {
            addCriterion("do_accept_no >", value, "doAcceptNo");
            return (Criteria) this;
        }

        public Criteria andDoAcceptNoGreaterThanOrEqualTo(Integer value) {
            addCriterion("do_accept_no >=", value, "doAcceptNo");
            return (Criteria) this;
        }

        public Criteria andDoAcceptNoLessThan(Integer value) {
            addCriterion("do_accept_no <", value, "doAcceptNo");
            return (Criteria) this;
        }

        public Criteria andDoAcceptNoLessThanOrEqualTo(Integer value) {
            addCriterion("do_accept_no <=", value, "doAcceptNo");
            return (Criteria) this;
        }

        public Criteria andDoAcceptNoIn(List<Integer> values) {
            addCriterion("do_accept_no in", values, "doAcceptNo");
            return (Criteria) this;
        }

        public Criteria andDoAcceptNoNotIn(List<Integer> values) {
            addCriterion("do_accept_no not in", values, "doAcceptNo");
            return (Criteria) this;
        }

        public Criteria andDoAcceptNoBetween(Integer value1, Integer value2) {
            addCriterion("do_accept_no between", value1, value2, "doAcceptNo");
            return (Criteria) this;
        }

        public Criteria andDoAcceptNoNotBetween(Integer value1, Integer value2) {
            addCriterion("do_accept_no not between", value1, value2, "doAcceptNo");
            return (Criteria) this;
        }

        public Criteria andIsAcceptIsNull() {
            addCriterion("is_accept is null");
            return (Criteria) this;
        }

        public Criteria andIsAcceptIsNotNull() {
            addCriterion("is_accept is not null");
            return (Criteria) this;
        }

        public Criteria andIsAcceptEqualTo(Byte value) {
            addCriterion("is_accept =", value, "isAccept");
            return (Criteria) this;
        }

        public Criteria andIsAcceptNotEqualTo(Byte value) {
            addCriterion("is_accept <>", value, "isAccept");
            return (Criteria) this;
        }

        public Criteria andIsAcceptGreaterThan(Byte value) {
            addCriterion("is_accept >", value, "isAccept");
            return (Criteria) this;
        }

        public Criteria andIsAcceptGreaterThanOrEqualTo(Byte value) {
            addCriterion("is_accept >=", value, "isAccept");
            return (Criteria) this;
        }

        public Criteria andIsAcceptLessThan(Byte value) {
            addCriterion("is_accept <", value, "isAccept");
            return (Criteria) this;
        }

        public Criteria andIsAcceptLessThanOrEqualTo(Byte value) {
            addCriterion("is_accept <=", value, "isAccept");
            return (Criteria) this;
        }

        public Criteria andIsAcceptIn(List<Byte> values) {
            addCriterion("is_accept in", values, "isAccept");
            return (Criteria) this;
        }

        public Criteria andIsAcceptNotIn(List<Byte> values) {
            addCriterion("is_accept not in", values, "isAccept");
            return (Criteria) this;
        }

        public Criteria andIsAcceptBetween(Byte value1, Byte value2) {
            addCriterion("is_accept between", value1, value2, "isAccept");
            return (Criteria) this;
        }

        public Criteria andIsAcceptNotBetween(Byte value1, Byte value2) {
            addCriterion("is_accept not between", value1, value2, "isAccept");
            return (Criteria) this;
        }
    }

    public static class Criteria extends GeneratedCriteria {

        protected Criteria() {
            super();
        }
    }

    public static class Criterion {
        private String condition;

        private Object value;

        private Object secondValue;

        private boolean noValue;

        private boolean singleValue;

        private boolean betweenValue;

        private boolean listValue;

        private String typeHandler;

        public String getCondition() {
            return condition;
        }

        public Object getValue() {
            return value;
        }

        public Object getSecondValue() {
            return secondValue;
        }

        public boolean isNoValue() {
            return noValue;
        }

        public boolean isSingleValue() {
            return singleValue;
        }

        public boolean isBetweenValue() {
            return betweenValue;
        }

        public boolean isListValue() {
            return listValue;
        }

        public String getTypeHandler() {
            return typeHandler;
        }

        protected Criterion(String condition) {
            super();
            this.condition = condition;
            this.typeHandler = null;
            this.noValue = true;
        }

        protected Criterion(String condition, Object value, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.typeHandler = typeHandler;
            if (value instanceof List<?>) {
                this.listValue = true;
            } else {
                this.singleValue = true;
            }
        }

        protected Criterion(String condition, Object value) {
            this(condition, value, null);
        }

        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.secondValue = secondValue;
            this.typeHandler = typeHandler;
            this.betweenValue = true;
        }

        protected Criterion(String condition, Object value, Object secondValue) {
            this(condition, value, secondValue, null);
        }
    }
}